package main

import (
	"io/ioutil"
	"log"

	"gopkg.in/yaml.v2"
)

/*
结构字段只有在导出时才进行数据编出(首字母大写)，
并且使用小写的字段名作为默认键进行数据编出
*/

type conf struct {
	SourceSQLFile string `yaml:"sourceSQLFile"`
	TargetSQLFile string `yaml:"targetSQLFile"`
	SQLKeyWord    string `yaml:"sqlKeyWord"`
}

func getConf() *conf {
	// 配置文件位置
	yamlFilePath := getCurrentPath() + getPathDelimiter() + "SQLFormatConfig.yaml"
	log.Printf("开始读取配置文件: %s", yamlFilePath)
	if !Exists(yamlFilePath) || !IsFile(yamlFilePath) {
		log.Printf("配置文件不存在,请把配置文件放置当前工作目录: %s", yamlFilePath)
		return nil
	}
	var c *conf
	yamlFile, err := ioutil.ReadFile(yamlFilePath)
	if err != nil {
		log.Printf("读取配置文件失败，报错信息: %#v ", err)
		return c
	}
	err = yaml.Unmarshal(yamlFile, &c)
	if err != nil {
		log.Fatalf("解析yaml文件失败: %#v", err)
	}
	return c
}
